vulnerability assessment java secure coding techniques information security programming risk management c++ secure software development smart card module security security code review penetration testing smart card deployment secure coding standards php network security security threat model